﻿namespace OutLook.Model.Domains
{
    using System.Collections.Generic;
    using System.Runtime.Serialization;

    [DataContract]
    public class Model
    {
        #region Constructors

        public Model() { }

        /// <summary>
        /// Initializes new instance of ElementsDistribution
        /// </summary>
        /// <param name="elementsDistributionList"></param>
        public Model(string name, List<ElementModel> elementsModelList, double qs, double phosphorus, double carbon)
        {
            Name = name;
            ElementsModelList = new List<ElementModel>();
            ElementsModelList = elementsModelList;
            Qs = qs;
            Phosphorus = phosphorus;
            Carbon = carbon;
        }

        #endregion

        #region Properties

        /// <summary>
        /// Name of Model
        /// </summary>
        [DataMember(Order = 1)]
        public string Name { get; set; }

        /// <summary>
        /// List of elements distribution for all chemical combinations which are possible in load
        /// </summary>
        [DataMember(Order = 2)]
        public List<ElementModel> ElementsModelList { get; set; }

        /// <summary>
        /// Factor Qs for Model
        /// </summary>
        [DataMember(Order = 3)]
        public double Qs { get; set; }

        /// <summary>
        /// Phosphorus
        /// </summary>
        [DataMember(Order = 4)]
        public double Phosphorus { get; set; }

        /// <summary>
        /// Phosphorus
        /// </summary>
        [DataMember(Order = 5)]
        public double Carbon { get; set; }


        #endregion
    }
}
